DataFrame除了上篇文章介紹還有很多好用的方式,今天將繼續學習更多DataFrame應用方式.
DataFrame也能讀取其他資料來源,下面示範如何使用:
import pandas as pd
import pymysql
db = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='30days', charset='utf8')
sql = "SELECT * FROM PttSoftJob"
data = pd.read_sql(sql,db)
db.close()
print(data)
#輸出:
SoftJobId ... SoftJobTCreatedDate
0 1 ... 2018-11-04 22:55:30
1 2 ... 2018-11-04 22:55:30
2 3 ... 2018-11-04 22:55:30
3 4 ... 2018-11-04 22:55:30
4 5 ... 2018-11-04 22:55:30
5 6 ... 2018-11-04 22:55:30
6 7 ... 2018-11-04 22:55:30
7 8 ... 2018-11-04 22:55:30
8 9 ... 2018-11-04 22:55:30
9 10 ... 2018-11-04 22:55:30
10 11 ... 2018-11-04 22:55:30
11 12 ... 2018-11-04 22:55:30
[12 rows x 5 columns]
print(type(data))
#輸出:
pandas.core.frame.DataFrame
由於資料表較長spyder僅顯示三欄,不過所有資料皆已經存入DataFrame內就能透過pandas進行資料分析了.
針對資料進行排序是很常做的事,DataFrame可以透過索引與值進行排序:
台北市長候選人
號次 姓名 年齡 黨派
0 1 吳蕚洋 58 無
1 2 丁守中 64 國民黨
2 3 姚文智 53 民進黨
3 4 柯文哲 59 無
4 5 李錫錕 71 無
5 3 姚文智 53 民進黨
6 3 姚文智 53 冒險家
sort_index()
print(台北市長候選人.sort_index())
#輸出:
號次 姓名 年齡 黨派
0 1 吳蕚洋 58 無
1 2 丁守中 64 國民黨
2 3 姚文智 53 民進黨
3 4 柯文哲 59 無
4 5 李錫錕 71 無
5 3 姚文智 53 民進黨
6 3 姚文智 53 冒險家
#倒敘
print(台北市長候選人.sort_index(ascending=False))
#輸出:
號次 姓名 年齡 黨派
6 3 姚文智 53 冒險家
5 3 姚文智 53 民進黨
4 5 李錫錕 71 無
3 4 柯文哲 59 無
2 3 姚文智 53 民進黨
1 2 丁守中 64 國民黨
0 1 吳蕚洋 58 無
sort_values()
print(台北市長候選人.sort_values(by = "年齡"))
#輸出:
號次 姓名 年齡 黨派
2 3 姚文智 53 民進黨
5 3 姚文智 53 民進黨
6 3 姚文智 53 冒險家
0 1 吳蕚洋 58 無
3 4 柯文哲 59 無
1 2 丁守中 64 國民黨
4 5 李錫錕 71 無
#倒敘
print(台北市長候選人.sort_values(by = "年齡"), ascending=False)
#輸出:
號次 姓名 年齡 黨派
4 5 李錫錕 71 無
1 2 丁守中 64 國民黨
3 4 柯文哲 59 無
0 1 吳蕚洋 58 無
2 3 姚文智 53 民進黨
5 3 姚文智 53 民進黨
6 3 姚文智 53 冒險家
若要刪除DataFrame內資料可使用drop()
函數來選擇刪除列或欄,如下:
官方文件
台北市長候選人
號次 姓名 年齡 黨派
0 1 吳蕚洋 58 無
1 2 丁守中 64 國民黨
2 3 姚文智 53 民進黨
3 4 柯文哲 59 無
4 5 李錫錕 71 無
5 3 姚文智 53 民進黨
6 3 姚文智 53 冒險家
print(台北市長候選人.drop(['黨派'], axis = 1))
#輸出:
號次 姓名 年齡
0 1 吳蕚洋 58
1 2 丁守中 64
2 3 姚文智 53
3 4 柯文哲 59
4 5 李錫錕 71
5 3 姚文智 53
6 3 姚文智 53
print(台北市長候選人.drop(6, axis = 0))
#輸出:
號次 姓名 年齡 黨派
0 1 吳蕚洋 58 無
1 2 丁守中 64 國民黨
2 3 姚文智 53 民進黨
3 4 柯文哲 59 無
4 5 李錫錕 71 無
5 3 姚文智 53 民進黨
以上,就是目前所學到的DataFrame的應用方式,剩餘更多的功能就等使用到再去學習吧!
參考資料:https://ithelp.ithome.com.tw/articles/10185922
參考資料:https://zhuanlan.zhihu.com/p/30029845
文章內容如果有錯誤歡迎留言告知,可以幫忙糾正錯誤的觀念,感謝!